package offer2

/*
*
原题链接:
https://leetcode.cn/problems/fan-zhuan-lian-biao-lcof/

剑指 Offer 24. 反转链表

定义一个函数，输入一个链表的头节点，反转该链表并输出反转后链表的头节点。
示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
*/
func trainningPlan(head *ListNode) *ListNode {

	if head == nil { //1.如果头结点为nil 直接返回
		return head
	}
	a := head //2.声明a,b节点
	b := head.Next

	for b != nil { //3.只要b不为空
		c := b.Next
		b.Next = a
		a = b
		b = c
	}
	head.Next = nil

	return a //4.最终返回a节点
}
